﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UFIDA.U9.Cust.YYD.PlugBE.Dtos
{


    public class WarehouseReceiptCreateOpenV3Req
    {
        public string tenantId { get; set; }
        public string sourceSysType { get; set; }
        public string billGroupCode { get; set; }
        public string billTypeCode { get; set; }
        public string billSourceCode { get; set; }
        public string billSourceText { get; set; }
        public string billSourceNumber { get; set; }
        public string urgencyDegree { get; set; }
        public string sourceType { get; set; }
        public string sourceCode { get; set; }
        public string cargoOwnerType { get; set; }
        public string cargoOwner { get; set; }
        public string plannedTime { get; set; }
        public string completionTime { get; set; }
        public string remark { get; set; }
        public List<WarehouseReceiptDetailCreateOpenV3Req> detailList { get; set; } = new List<WarehouseReceiptDetailCreateOpenV3Req>();
        public List<WarehouseRequirementCreateOpenV3Req> requirementList { get; set; } = new List<WarehouseRequirementCreateOpenV3Req>();
        public List<WarehousePackageCreateOpenReq> packageList { get; set; } = new List<WarehousePackageCreateOpenReq>();
        public object ext { get; set; }
    }

    public class WarehouseReceiptDetailCreateOpenV3Req
    {
        public string materialCode { get; set; }
        public string supplierCode { get; set; }
        public string batchNo { get; set; }
        public string productionDate { get; set; }
        public string warehouseCode { get; set; }
        public string maturityDate { get; set; }
        public string cargoOwnerType { get; set; }
        public string cargoOwner { get; set; }
        public string batchExtraAttributes { get; set; }
        public string batchExtraAttributes1 { get; set; }
        public string batchExtraAttributes2 { get; set; }
        public string batchExtraAttributes3 { get; set; }
        public string batchExtraAttributes4 { get; set; }
        public string qualityLevel { get; set; }
        public string entryTime { get; set; }
        public string customerCode { get; set; }
        public string batchExtraAttributes5 { get; set; }
        public string batchExtraAttributes6 { get; set; }
        public string batchExtraAttributes7 { get; set; }
        public string batchExtraAttributes8 { get; set; }
        public string batchExtraAttributes9 { get; set; }
        public string lineNumber { get; set; }
        public string barcode { get; set; }
        public decimal quantity { get; set; }
        public object ext { get; set; }
        public string packageCode { get; set; }
        public decimal packageFactor { get; set; }
        public long sourceBillId { get; set; }
        public string sourceBillCode { get; set; }
        public long sourceDetailId { get; set; }
        public string sourceDetailLineNumber { get; set; }
        public long planBillId { get; set; }
        public string planBillCode { get; set; }
        public long planDetailId { get; set; }
        public string planDetailLineNumber { get; set; }

    }

    public class WarehouseRequirementCreateOpenV3Req
    {
        public string materialCode { get; set; }
        public string supplierCode { get; set; }
        public string batchNo { get; set; }
        public string productionDate { get; set; }
        public string warehouseCode { get; set; }
        public string maturityDate { get; set; }
        public string cargoOwnerType { get; set; }
        public string cargoOwner { get; set; }
        public string batchExtraAttributes { get; set; }
        public string batchExtraAttributes1 { get; set; }
        public string batchExtraAttributes2 { get; set; }
        public string batchExtraAttributes3 { get; set; }
        public string batchExtraAttributes4 { get; set; }
        public string qualityLevel { get; set; }
        public string entryTime { get; set; }
        public string customerCode { get; set; }
        public string batchExtraAttributes5 { get; set; }
        public string batchExtraAttributes6 { get; set; }
        public string batchExtraAttributes7 { get; set; }
        public string batchExtraAttributes8 { get; set; }
        public string batchExtraAttributes9 { get; set; }
        public string lineNumber { get; set; }
        public decimal plannedQuantity { get; set; }
        public long sourceDetailId { get; set; }
        public string sourceBillCode { get; set; }
        public string sourceDetailLineNumber { get; set; }
        public string planBillCode { get; set; }
        public string planDetailLineNumber { get; set; }
        public object ext { get; set; }
        public bool outsource { get; set; }
        public bool internalSupplier { get; set; }
        public bool waste { get; set; } = false;
    }

    public class WarehousePackageCreateOpenReq
    {
        public string barcode { get; set; }
        public string packageCode { get; set; }
        public string innerPackageBarcode { get; set; }
        public string innerPackageCode { get; set; }
        public decimal quantity { get; set; }
        public object ext { get; set; }
    }


    public class WMSReceiptRTNDTO
    { 
        public string tenantId { get; set; }
        public long id { get; set; }
        public string code { get; set; }
    }

    public class WMSDeleteDTO
    {
        public string billSourceNumber { get; set; }
    }
}
